var express = require('express');
var router = express.Router();

var {Mvs} = require("../utils/model")
var {getDecrypt} = require("../utils")
// var monent = require("moment")
// monent.locale();
//get  get请求
// /  路由地址
// req  请求信息
//res  响应信息
//next  下一个中间键
//res.render 渲染模板

/* GET home page. */
router.get('/', function(req, res, next) {
  // console.log(req.session)
  res.render('home', { 
    title: '电影评论管理系统',
    word:"daydayup---天道好轮回",
    msg:"你好 世界",
    tag:"<b>How old are you? </b>",
    username:req.session.username,
    logintime:req.session.logintime, //设置时间的，还没效果
    // password:"123456",
    list:["大大","小夕","菲菲","猪猪"]
});
});
//登录注册的路由接口
router.get("/register",(req,res)=>{
  res.render("register")
})


router.get("/login",(req,res)=>{
  var username = req.query.username ? getDecrypt(req.query.username) : '' ;
  console.log(username)
  res.render("login",{username})
})

router.get("/demo",(req,res)=>{
  res.send("demo--demo-demo")  //res.send  ？？
})

router.get("/test",(req,res)=>{
  res.send("test--test")
})


router.get("/findone",(req,res)=>{
  res.json({
    msg:"查询成功",
    code:200,
    url:req.url,
    path:req.path,  //path包含search
    query: req.query ,  //查询参数   重点
    headers:req.headers  //请求头
})
})
//凡是冒号声明的参数 只能通过params取， ？表明这个参数可以传可以不穿
router.get("/delone/:uid?",(req,res)=>{
  res.json({
    code:200,
    msg:"删除成功",
    params:req.params  //路由参数
  })
})


router.all("/all",(req,res)=>{
  res.send("这个请求接口可以是get & post请求方式")
})
//post的不能再浏览器里面打开， 浏览器直接跑起来汇报404,
router.post("/addone",(req,res)=>{
  req.json({
    code:200,
    msg:"添加成功",
    method:"POST",
    body:req.body  //post 请求提交的data 数据

  })
})

router.all("/some",(req,res)=>{
  res.json({
    code:200,
    msg:"操作成功---some"
  })
})

//退出登录
router.get("/logout",(req,res)=>{
  req.session.destroy(()=>{
    res.redirect("/") //重定向到首页
  })
})

//修改密码
router.get("/changepass",(req,res)=>{
  if(req.session.username){
    res.render("changepass",{
      username:req.session.username
    })
  }else{
    res.send("<script>alert('seesion已经过期无效,请重新登录');location.href='/login'</script>")

  }
  
})

//电影列表
router.get("/movie",(req,res)=>{
 if(req.session.username){
  var query = req.query
  console.log(query)  //排序操作
  var keyword = query.keyword
  var sortObj = {
    _id:1
  }
  var obj = {}
  if(keyword){
 obj = {
   $or:[
  {title:new RegExp(keyword)},
  {year:new RegExp(keyword)},
  {genres:new RegExp(keyword)},
  {'directors.name':new RegExp(keyword)},
  {'rating.average':new RegExp(keyword)},
   ]
 }
  }else{
    sortObj = {...query,...sortObj}   //对象合并，...展开运算符
  }
  
   Mvs.find(obj,{
     _id:0
   }).sort(sortObj)
   .then(result=>{
    
    res.render("movie",{
      result,  //我想要的电影数据
      username:req.session.username
    })

   })
  
 }else{
  res.send("<script>alert('seesion已经过期无效,请重新登录');location.href='/login'</script>")
 }
})
module.exports = router;
